﻿function ChkDigitNewAccount(sValue) {
    var tmpReturn;
    tmpReturn = true;

    if (sValue == "") {
        return true;
    }

    //if (sValue.length != 14) {
    //    alert('เลขที่บัญชีควรเป็น 14 หลัก');
    //    return false;
    //}

    var SumStep1;
    var Result;
    var OString;
    OString = sValue;
    var d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, sDigit;
    d1 = OString.charAt(0);
    d2 = OString.charAt(1);
    d3 = OString.charAt(2);
    d4 = OString.charAt(3);
    d5 = OString.charAt(4);
    d6 = OString.charAt(5);
    d7 = OString.charAt(6);
    d8 = OString.charAt(7);
    d9 = OString.charAt(8);
    d10 = OString.charAt(9);
    d11 = OString.charAt(10);
    sDigit = OString.charAt(11);

    //Multiply
    d1 = (d1 * 7);
    d2 = (d2 * 4);
    d3 = (d3 * 8);
    d4 = (d4 * 6);
    d5 = (d5 * 4);
    d6 = (d6 * 6);
    d7 = (d7 * 9);
    d8 = (d8 * 7);
    d9 = (d9 * 3);
    d10 = (d10 * 5);
    d11 = (d11 * 8);


    //Sum
    if (((d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9 + d10 + d11) % 10) != 0) {
        SumStep1 = (10 - ((d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9 + d10 + d11) % 10))
    } else {
        SumStep1 = 0
    }
    if (sDigit != SumStep1) {
        alert('ค่า Digit ไม่ถูกต้อง');
        return false;
    }
    return tmpReturn;
}
function ChkDigitOldAccount(sValue) {
    var tmpReturn;
    tmpReturn = true;

    if (sValue == "") {
        return true;
    }
    if (sValue.length != 10) {
        alert('เลขที่บัญชีควรเป็น 10 หลัก');
        return false;
    }

    var SumStep1;
    var Result;
    var OString;
    OString = sValue;
    var d1, d2, d3, d4, d5, d6, d7, d8, d9, sDigit;
    d1 = OString.charAt(0);
    d2 = OString.charAt(1);
    d3 = OString.charAt(2);
    d4 = OString.charAt(3);
    d5 = OString.charAt(4);
    d6 = OString.charAt(5);
    d7 = OString.charAt(6);
    d8 = OString.charAt(7);
    d9 = OString.charAt(8);
    sDigit = OString.charAt(9);

    //Multiply
    d1 = (d1 * 4);
    d2 = (d2 * 3);
    d3 = (d3 * 2);
    d4 = (d4 * 7);
    d5 = (d5 * 6);
    d6 = (d6 * 5);
    d7 = (d7 * 4);
    d8 = (d8 * 3);
    d9 = (d9 * 2);

    //Sum
    if (((d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9) % 10) != 0) {
        SumStep1 = (10 - ((d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9) % 10))
    } else {
        SumStep1 = 0
    }
    if (sDigit != SumStep1) {
        alert('ค่า Digit ไม่ถูกต้อง');
        return false;
    }
    return tmpReturn;
}
function CheckAccountDigit(sValue) {
    if (sValue == "") {
        return true;
    }
    else {
        var num;
        switch (sValue.length) {
            case 10:
                {
                    num = sValue.substr(0, 2);
                    if (((num >= 0) && (num <= 9)) || ((num >= 20) && (num <= 49)) || (num == 90) || (num == 95)) {
                        return ChkDigitOldAccount(sValue); // Old Account
                    }
                    else if (((num >= 10) && (num <= 19)) || ((num >= 50) && (num <= 89)) || ((num >= 91) && (num <= 94)) || ((num >= 96) && (num <= 99))) {
                        return ChkDigitNewAccount("03" + sValue); // New Account  
                    }
                    else {
                        alert('Unidentify Account Version');
                        return false;
                    }

                } break;
            case 12:
                {
                    num = sValue.substr(2, 2);
                    if (((num >= 10) && (num <= 19)) || ((num >= 50) && (num <= 89)) || ((num >= 91) && (num <= 94)) || ((num >= 96) && (num <= 99))) {
                        return ChkDigitNewAccount(sValue); // New Account                                      
                    }
                    else {
                        alert('Unidentify Account Version');
                        return false;
                    }
                } break;
            default:
                {
                    num = sValue.substr(2, 2);
                    if (((num >= 10) && (num <= 19)) || ((num >= 50) && (num <= 89)) || ((num >= 91) && (num <= 94)) || ((num >= 96) && (num <= 99))) {
                        return ChkDigitNewAccount(sValue); // New Account  
                    }
                    else {
                        alert('Unidentify Account Version');
                        return false;
                    }
                } break;
        }
    }
}
function chk_Pid_Length(sValue) {

    sValue = sValue.replace("_", "");
    sValue = sValue.replace("-", "");

    if (sValue != "") {
        //Check Length
        if (sValue.length != 13) {
            alert('ต้องกรอกเลขที่บัตรประจำตัวให้ครบ 13 หลัก !!!');
            return false;
        }

        //Check If Zero 13 Digit Not Check
        if (sValue == "") {
            return true;
        }

        //Check Digit
        var SumStep1;
        var Result;
        var OString;
        OString = sValue;
        var d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13;
        d1 = OString.charAt(0);
        d2 = OString.charAt(1);
        d3 = OString.charAt(2);
        d4 = OString.charAt(3);
        d5 = OString.charAt(4);
        d6 = OString.charAt(5);
        d7 = OString.charAt(6);
        d8 = OString.charAt(7);
        d9 = OString.charAt(8);
        d10 = OString.charAt(9);
        d11 = OString.charAt(10);
        d12 = OString.charAt(11);
        d13 = OString.charAt(12);

        SumStep1 = ((d1 * 13) + (d2 * 12) + (d3 * 11) + (d4 * 10) + (d5 * 9) + (d6 * 8) + (d7 * 7) + (d8 * 6) + (d9 * 5) + (d10 * 4) + (d11 * 3) + (d12 * 2))


        switch (SumStep1 % 11) {
            case 0:
                Result = 1;
                break;
            case 1:
                Result = 0;
                break;
            default:
                Result = (11 - (SumStep1 % 11));
        }

        if (Result != d13) {
            alert('เลขที่บัตรประชาชนไม่ถูกต้อง กรุณาตรวจสอบ');
            return false;
        }
        //Check Digit

    }
}
function CheckValueInCombo(comboName, value) {
 
    var exists = false;
    $('#' + comboName + ' option').each(function () {
        var getdata = this.value.split('|');
        var output = getdata[0] + "|" + getdata[1];
        if (output == value) {
            exists = true;     
        }
    });
    return exists;
}
function GetValueArray(trunkData, index) {

 
    var arrays = trunkData.split('|');
    var i = 0;
    for (i = 0; i <= arrays.length; i++) {
        if (i == (index - 1))
            return arrays[i];
    }
}
function SetValueComboArray(comboName, index, value) {
    $('#' + comboName + ' option').each(function (i, option) {
        var tmpValue = $(option).val();
        var tmpSelectValue;
        var arrays = tmpValue.split('|');
        var i = 0;
        for (i = 0; i <= arrays.length; i++) {
            if (i == (index - 1)) {
                tmpSelectValue = arrays[i];
                if (tmpSelectValue == value) {
                    $('#' + comboName).val(tmpValue);
                }
            }

        }
    });
}
function RemoveAllSetTitle(comboTemp, title) {

    // Remove All
    $('#' + comboTemp + ' option').each(function (i, option) {
        $(option).remove();
    });

    // Set Title
    $('#' + comboTemp).append($('<option></option>').val("").html(title));

}
function FilterComboValue(comboMaster, comboTemp, index, value, title) {

    debugger;
    RemoveAllSetTitle(comboTemp, title);

    // Copy Value
    $('#' + comboMaster + ' option').each(function (i, option) {
        var tmpValue = $(option).val();
        var tmpText = $(option).text();
        var tmpSelectValue;
        var arrays = tmpValue.split('|');
        var i = 0;
        for (i = 0; i <= arrays.length; i++) {
            if (i == (index - 1)) {
                tmpSelectValue = arrays[i];
                if (tmpSelectValue == value) {
                    $('#' + comboTemp).append($('<option></option>').val(tmpValue).html(tmpText));
                }
            }

        }
    });
}
function FilterComboValue(comboMaster, comboTemp, index, value) {

    // Remove All
    $('#' + comboTemp + ' option').each(function (i, option) {
        $(option).remove();
    });

    // Copy Value
    $('#' + comboMaster + ' option').each(function (i, option) {
        var tmpValue = $(option).val();
        var tmpText = $(option).text();
        var tmpSelectValue;
        var arrays = tmpValue.split('|');
        var i = 0;
        for (i = 0; i <= arrays.length; i++) {
            if (i == (index - 1)) {
                tmpSelectValue = arrays[i];
                if (tmpSelectValue == value) {
                    $('#' + comboTemp).append($('<option></option>').val(tmpValue).html(tmpText));
                }
            }

        }
      
    });
}